home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / misc / Perf.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.5 KB  |  112 lines

  1. package sun.misc;
  2.  
  3. import java.io.IOException;
  4. import java.io.UnsupportedEncodingException;
  5. import java.nio.ByteBuffer;
  6.  
  7. public final class Perf {
  8.    private static Perf instance;
  9.    private static final int PERF_MODE_RO = 0;
  10.    private static final int PERF_MODE_RW = 1;
  11.  
  12.    private Perf() {
  13.    }
  14.  
  15.    public static Perf getPerf() {
  16.       SecurityManager var0 = System.getSecurityManager();
  17.       if (var0 != null) {
  18.          RuntimePermission var1 = new RuntimePermission("sun.misc.Perf.getPerf");
  19.          var0.checkPermission(var1);
  20.       }
  21.  
  22.       return instance;
  23.    }
  24.  
  25.    public ByteBuffer attach(int var1, String var2) throws IllegalArgumentException, IOException {
  26.       if (var2.compareTo("r") == 0) {
  27.          return this.attachImpl((String)null, var1, 0);
  28.       } else if (var2.compareTo("rw") == 0) {
  29.          return this.attachImpl((String)null, var1, 1);
  30.       } else {
  31.          throw new IllegalArgumentException("unknown mode");
  32.       }
  33.    }
  34.  
  35.    public ByteBuffer attach(String var1, int var2, String var3) throws IllegalArgumentException, IOException {
  36.       if (var3.compareTo("r") == 0) {
  37.          return this.attachImpl(var1, var2, 0);
  38.       } else if (var3.compareTo("rw") == 0) {
  39.          return this.attachImpl(var1, var2, 1);
  40.       } else {
  41.          throw new IllegalArgumentException("unknown mode");
  42.       }
  43.    }
  44.  
  45.    private ByteBuffer attachImpl(String var1, int var2, int var3) throws IllegalArgumentException, IOException {
  46.       ByteBuffer var4 = this.attach(var1, var2, var3);
  47.       if (var2 == 0) {
  48.          return var4;
  49.       } else {
  50.          ByteBuffer var5 = var4.duplicate();
  51.          Cleaner.create(var5, new 1(this, var4));
  52.          return var5;
  53.       }
  54.    }
  55.  
  56.    private native ByteBuffer attach(String var1, int var2, int var3) throws IllegalArgumentException, IOException;
  57.  
  58.    private native void detach(ByteBuffer var1);
  59.  
  60.    public native ByteBuffer createLong(String var1, int var2, int var3, long var4);
  61.  
  62.    public ByteBuffer createString(String var1, int var2, int var3, String var4, int var5) {
  63.       byte[] var6 = getBytes(var4);
  64.       byte[] var7 = new byte[var6.length + 1];
  65.       System.arraycopy(var6, 0, var7, 0, var6.length);
  66.       var7[var6.length] = 0;
  67.       return this.createByteArray(var1, var2, var3, var7, Math.max(var7.length, var5));
  68.    }
  69.  
  70.    public ByteBuffer createString(String var1, int var2, int var3, String var4) {
  71.       byte[] var5 = getBytes(var4);
  72.       byte[] var6 = new byte[var5.length + 1];
  73.       System.arraycopy(var5, 0, var6, 0, var5.length);
  74.       var6[var5.length] = 0;
  75.       return this.createByteArray(var1, var2, var3, var6, var6.length);
  76.    }
  77.  
  78.    public native ByteBuffer createByteArray(String var1, int var2, int var3, byte[] var4, int var5);
  79.  
  80.    private static byte[] getBytes(String var0) {
  81.       byte[] var1 = null;
  82.  
  83.       try {
  84.          var1 = var0.getBytes("UTF-8");
  85.       } catch (UnsupportedEncodingException var3) {
  86.       }
  87.  
  88.       return var1;
  89.    }
  90.  
  91.    public native long highResCounter();
  92.  
  93.    public native long highResFrequency();
  94.  
  95.    private static native void registerNatives();
  96.  
  97.    // $FF: synthetic method
  98.    static Perf access$000() {
  99.       return instance;
  100.    }
  101.  
  102.    // $FF: synthetic method
  103.    static void access$100(Perf var0, ByteBuffer var1) {
  104.       var0.detach(var1);
  105.    }
  106.  
  107.    static {
  108.       registerNatives();
  109.       instance = new Perf();
  110.    }
  111. }
  112.